home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 December / Australian PC User - December 2003 (CD2).iso / software / apps / files / dwmx2k4.exe / Disk1 / data1.cab / Configuration_En / DataSources / JSP / JavaBeanIndexed.js < prev    next >
Encoding:
JavaScript  |  2003-09-05  |  4.8 KB  |  184 lines

  1. // Copyright 2000, 2001, 2002, 2003 Macromedia, Inc. All rights reserved.
  2. var DEBUG = false
  3. var javabean_filename = "JBCollection_D.gif"
  4. var datasourceleaf_filename = "DSL_D.gif"
  5.  
  6. function addDynamicSource()
  7. {
  8.     dw.popupServerBehavior("JavaBeanIndexed.htm");
  9. }
  10.  
  11.  
  12. function findDynamicSources()
  13. {
  14.     var retList = new Array();
  15.     var currentdom = dreamweaver.getDocumentDOM();
  16.  
  17.   if (currentdom) {
  18.  
  19.         //find matching ssRecs
  20.         var ssRecs = dw.serverBehaviorInspector.getServerBehaviors();
  21.         for (var i=0; i < ssRecs.length; i++) {
  22.           if (ssRecs[i].type == "JavaBeanIndexed") 
  23.           {
  24.             retList.push(new ObjectInfo(ssRecs[i].title, javabean_filename,true,"JavaBeanIndexed.htm",ssRecs[i].parameters.Id));
  25.           }
  26.         }
  27.     }
  28.  
  29.     return retList;
  30. }
  31.  
  32. ////////////////////////////////////////////////////////////////////////////////
  33. //    Function: generateDynamicSourceBindings()
  34. //
  35. //    Returns a list of bindings for elementNode on the page.
  36. ////////////////////////////////////////////////////////////////////////////////
  37. function generateDynamicSourceBindings(elementName)
  38. {
  39.     var BindingsArray = new Array();
  40.     var outArray = new Array();
  41.  
  42.     ssRec = findSSrecByTitle(elementName,"JavaBeanIndexed");
  43.  
  44.     if (ssRec) 
  45.     {
  46.         className = ssRec.parameters.ItemClass;
  47.  
  48.         packageName = "";
  49.         var siteHandle = MMNotes.open(dw.getSiteRoot(),true);
  50.         if (siteHandle) 
  51.         {
  52.             var siteURL = dw.getSiteRoot();
  53.             if (siteURL.length)
  54.             {
  55.                 packageName = MMNotes.get(siteHandle,className);
  56.             }
  57.             MMNotes.close(siteHandle);
  58.         }
  59.  
  60.         var properties = MMJB.getWriteProperties(className,packageName);
  61.  
  62.         for (var i =0 ; i < properties.length ; i++)
  63.         {
  64.             outArray[i] = new ObjectInfo(properties[i], datasourceleaf_filename,false,"JavaBeanIndexed.htm","");
  65.         }
  66.     }
  67.         
  68.     return outArray;
  69.  
  70. }
  71.  
  72.  
  73. ////////////////////////////////////////////////////////////////////////////////
  74. //
  75. //    Function: generateDynamicDataRef
  76. //
  77. //    Returns a dynamic binding string.
  78. ////////////////////////////////////////////////////////////////////////////////
  79. function generateDynamicDataRef(elementName,bindingName,dropObject)
  80. {
  81.  
  82.     ssRec = findSSrecByTitle(elementName,"JavaBeanIndexed")
  83.     var retVal = "";
  84.  
  85.     if (ssRec) 
  86.     {
  87.         var paramObj = new Object();
  88.  
  89.         paramObj.beanName = ssRec.parameters.Id + "_item";
  90.  
  91.         if (bindingName.length)
  92.         {
  93.             bindingNamePrefix = bindingName.substr(0,1);
  94.             bindingName          = bindingName.substr(1,bindingName.length);
  95.             bindingName          = bindingNamePrefix.toUpperCase() + bindingName;
  96.         }
  97.  
  98.         paramObj.property = bindingName;
  99.  
  100.         var group = new Group("JSPGetPropertyMethod");
  101.         var insertText = group.getInsertStrings(paramObj,"replaceSelection");
  102.         insertText = insertText + "";
  103.         retVal = insertText;
  104.  
  105.         // If the string is being inserted inside a script block, strip the
  106.         // script delimiters.
  107.         if (dwscripts.canStripScriptDelimiters(dropObject))
  108.             retVal = dwscripts.stripScriptDelimiters(retVal);
  109.  
  110.  
  111.     }
  112.  
  113.     return retVal;
  114. }
  115.  
  116.  
  117. ////////////////////////////////////////////////////////////////////////////////
  118. //
  119. //    Function: inspectDynamicDataRef
  120. //
  121. //    Inspects a dynamic binding string and returns a pair of source and binding.
  122. ////////////////////////////////////////////////////////////////////////////////
  123. function inspectDynamicDataRef(expression)
  124. {
  125.     var retArray = new Array();
  126.  
  127.     if (expression && expression.length)
  128.     {
  129.         var group = new Group("JSPGetPropertyMethod");
  130.         var part = group.getParticipants("replaceSelection")[0];
  131.  
  132.         searchPattern       = eval(part.searchPatterns[0].pattern);
  133.  
  134.         if (searchPattern)
  135.         {
  136.             var result1 = expression.match(searchPattern);
  137.     
  138.             if (result1 && result1.length > 1)
  139.             {
  140.                 //find the original ssRec
  141.                 var ssRecs = dw.serverBehaviorInspector.getServerBehaviors();
  142.                 for (var i=0; i < ssRecs.length; i++) {
  143.                   if ((ssRecs[i].type == "JavaBeanIndexed") && (ssRecs[i].parameters.Id +"_item" == result1[1])) {
  144.                     retArray[0] = ssRecs[i].title;
  145.  
  146.                     bindingName = result1[2];
  147.  
  148.                     if (bindingName.length)
  149.                     {
  150.                         bindingNamePrefix = bindingName.substr(0,1);
  151.                         bindingName          = bindingName.substr(1,bindingName.length);
  152.                         bindingName          = bindingNamePrefix.toLowerCase() + bindingName;
  153.                     }
  154.  
  155.                     retArray[1] = bindingName;
  156.                     break;
  157.                   }
  158.                 }
  159.             }
  160.         }
  161.     }
  162.     return retArray;
  163. }
  164.  
  165.  
  166.  
  167. ////////////////////////////////////////////////////////////////////////////////
  168. //
  169. //    Function: deleteDynamicSource
  170. //
  171. //    Deletes a dynamic source from the document.
  172. ////////////////////////////////////////////////////////////////////////////////
  173. function deleteDynamicSource(sourceName,bindingName)
  174. {
  175.   var ssRec = findSSRecByTitle(sourceName,"JavaBeanIndexed.htm")
  176.  
  177.   if (ssRec != null && !bindingName) {
  178.     dw.serverBehaviorInspector.deleteServerBehavior(ssRec);
  179.   } else if (bindingName) {
  180.     alert(MM.MSG_CantDelColumn);
  181.   }
  182. }
  183.  
  184.